Palindrome Explanation In Java